Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
ІСМ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт
Предмет:
Програмування

Частина тексту файла

Національний технічний університет України «Київський політехнічний інститут ім. Ігоря Сікорського» Кафедра цифрових технологій в енергетиці ЗВІТ з виконання лабораторної роботи №7 з дисципліни «Програмування на мові Java» «ПОБУДОВА ГРАФІЧНИХ ІНТЕРФЕЙСІВ ЗА ДОПОМОГОЮ ІНСТРУМЕНТІВ SWING» Варіант 13 Завдання 2 package org.example; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** Цей клас є головним вікном програми для малювання заокруглених прямокутників. Він дозволяє користувачам вибрати колір та розміри заокруглення, і відображає заокруглений прямокутник на панелі малювання. */ public class Task2 extends JFrame { private JComboBox<String> colorComboBox; private static JSpinner widthSpinner; private static JSpinner heightSpinner; /** Конструктор */ public Task2() { setTitle("Rounded Rectangle App"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new BorderLayout()); setSize(700, 500); DrawPanel drawPanel = new DrawPanel(); add(drawPanel, BorderLayout.CENTER); JPanel bottomPanel = new JPanel(new FlowLayout()); String[] colors = {"Чорний", "Червоний", "Зелений", "Синій"}; colorComboBox = new JComboBox<>(colors); bottomPanel.add(new JLabel("Колір:")); bottomPanel.add(colorComboBox); widthSpinner = new JSpinner(new SpinnerNumberModel(0, 0, 30, 1)); bottomPanel.add(new JLabel("Ширина закруглення:")); bottomPanel.add(widthSpinner); heightSpinner = new JSpinner(new SpinnerNumberModel(0, 0, 30, 1)); bottomPanel.add(new JLabel("Висота закруглення:")); bottomPanel.add(heightSpinner); JButton changeButton = new JButton("Змінити прямокутник"); changeButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { drawPanel.changeRectangle(); } }); bottomPanel.add(changeButton); add(bottomPanel, BorderLayout.SOUTH); setLocationRelativeTo(null); setVisible(true); } /** Панель, на якій малюється заокруглений прямокутник. */ public static class DrawPanel extends JPanel { public ComboBoxModel<Object> colorComboBox; Color rectangleColor = Color.BLACK; private int cornerWidth = 0; private int cornerHeight = 0; @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; g2d.setColor(rectangleColor); g2d.fillRoundRect(50, 50, 200, 100, cornerWidth, cornerHeight); } public void changeRectangle() { String selectedColor = (String) colorComboBox.getSelectedItem(); rectangleColor = getColorFromString(selectedColor); cornerWidth = (int) widthSpinner.getValue(); cornerHeight = (int) heightSpinner.getValue(); repaint(); } Color getColorFromString(String colorName) { switch (colorName) { case "Чорний": return Color.BLACK; case "Червоний": return Color.RED; case "Зелений": return Color.GREEN; case "Синій": return Color.BLUE; default: return Color.BLACK; } } } public static void main(String[] args) { SwingUtilities.invokeLater(() -> new Task2()); } } / Тести: package org.example; import org.junit.jupiter.api.Test; import org.example.Task2; import javax.swing.*; import java.awt.*; import static org.junit.jupiter.api.Assertions.*; class Task2Test { @Test public void test_drawPanel_getColorFromString() { Task2.DrawPanel panel = new Task2.DrawP...
Антиботан аватар за замовчуванням

29.02.2024 18:02

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини